1. Field of the Invention
The present invention relates to a chord detection apparatus, a chord detection method, and a program for detecting from performance data a chord (harmonic tones) musically related to the performance data, which is input according to a performance operation.
2. Description of the Related Art
Conventionally, an electronic musical instrument for detecting, from performance data, a chord musically related to performance data is known. The detected chord is added to a melody, for example.
As such an electronic musical instrument, there is known an instrument that inputs and stores performance data representing a sequence of notes, divides the stored performance data into predetermined sections, and extracts a chord progression conforming to performance data of one of the divided sections of the performance data from a chord progression database stored with a large number of chord progressions (see, for example, Japanese Laid-open Patent Publication No. 2001-142462).
Since the above-described electronic musical instrument extracts a chord progression conforming to performance data input beforehand, a chord progression musically well related to a stream of notes in the performance data can be extracted by taking account of not only performance tones preceding a current performance tone, but also performance tones subsequent to the current performance tone. However, if an attempt is made to extract a chord progression musically well related to performance data which is being input during real time performance, a chord progression extraction in which performance tones subsequent to a current performance tone are taken into account cannot be made since a performance tone that will be next input is unknown. As a result, a chord progression musically well related to realtime performance data cannot be extracted in some cases.
To eliminate the above problem, there is a technique to examine whether a chord progression formed by continuously extracted chords is stored in a chord progression database, predict a chord that follows the chord progression (if any) stored in the database, and determine whether the predicted chord is consonant with the next input performance data. With this technique, if the predicted chord is not consonant with the next input performance data, a chord other than the predicted chord is extracted, resulting in a fear that the extracted chord is not musically related to the performance data. Conversely, if the predicted chord is consonant with the next input performance data, the predicted chord is extracted and thus a chord progression musically related to the performance data can be obtained. However, there is a tendency that the same chord progression frequently appears, causing the user to get tired of chord progressions.